package com.bootdo.system.dao;

import com.bootdo.system.domain.SubscribeRecordDO;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface SubscribeRecordDao {
    // 查询 id
    SubscribeRecordDO get(@Param("id") Long id);

    // 查询 userId
    List<SubscribeRecordDO> getByUserId(@Param("userId") Long userId);

    // 查询 docUserId
    List<SubscribeRecordDO> getByDocUserId(@Param("docUserId") Long docUserId);

    // list 查询
    List<SubscribeRecordDO> list(Map<String, Object> map);

    // list1 查询用户某天的预约次数
    List<SubscribeRecordDO> list1(Map<String, Object> map);

    // 插入
    int save(SubscribeRecordDO recordDO);

    // 修改
    int update(SubscribeRecordDO recordDO);

    // list2 查询爽约数据
    List<SubscribeRecordDO> list2();

    // 获取医生叫诊数据 根据就诊时间升序排列 再根据创建时间升序排列
    List<SubscribeRecordDO> list3(@Param("docUserId") Long docUserId, @Param("userId") Long userId, @Param("beginTime") Date beginTime, @Param("endTime") Date endTime);
}
